// @ts-ignore
/* eslint-disable */
import request from '@/utils/request'

/** getProject 根据id获取项目信息 GET /api/project */
export async function getProjectUsingGet(
  // 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
  params: API.getProjectUsingGETParams,
  options?: { [key: string]: any }
) {
  return request<API.BaseResponseProjectVo_>('/api/project', {
    method: 'GET',
    params: {
      ...params
    },
    ...(options || {})
  })
}

/** addProject 管理员,新增项目 POST /api/project/add */
export async function addProjectUsingPost(
  body: API.AddProjectRequest,
  options?: { [key: string]: any }
) {
  return request<API.BaseResponseInt_>('/api/project/add', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json'
    },
    data: body,
    ...(options || {})
  })
}

/** addMembers 添加项目成员 POST /api/project/addMembers */
export async function addMembersUsingPost(
  body: API.AddMembersRequest,
  options?: { [key: string]: any }
) {
  return request<API.BaseResponseBoolean_>('/api/project/addMembers', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json'
    },
    data: body,
    ...(options || {})
  })
}

/** deleteProject 管理员,删除项目 DELETE /api/project/delete */
export async function deleteProjectUsingDelete(
  // 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
  params: API.deleteProjectUsingDELETEParams,
  options?: { [key: string]: any }
) {
  return request<API.BaseResponseBoolean_>('/api/project/delete', {
    method: 'DELETE',
    params: {
      ...params
    },
    ...(options || {})
  })
}

/** pageProjectDynamic 获取项目动态 POST /api/project/dynamic/page */
export async function pageProjectDynamicUsingPost(
  body: API.PageProjectDynamicRequest,
  options?: { [key: string]: any }
) {
  return request<API.BaseResponsePageProjectDynamicVo_>('/api/project/dynamic/page', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json'
    },
    data: body,
    ...(options || {})
  })
}

/** isMember 判断用户是否是项目成员 GET /api/project/isProjectMember */
export async function isProjectMemberUsingGet(
  // 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
  params: API.isProjectMemberUsingGETParams,
  options?: { [key: string]: any }
) {
  return request<API.BaseResponseBoolean_>('/api/project/isProjectMember', {
    method: 'GET',
    params: {
      ...params
    },
    ...(options || {})
  })
}

/** listProject 查询本团队我参与的项目基本信息 GET /api/project/list */
export async function listProjectUsingGet(
  // 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
  params: API.listProjectUsingGETParams,
  options?: { [key: string]: any }
) {
  return request<API.BaseResponseListProjectVo_>('/api/project/list', {
    method: 'GET',
    params: {
      ...params
    },
    ...(options || {})
  })
}

/** getMembers 获取项目成员 GET /api/project/members */
export async function getMembersUsingGet(
  // 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
  params: API.getMembersUsingGETParams,
  options?: { [key: string]: any }
) {
  return request<API.BaseResponseListUserInProjectVo_>('/api/project/members', {
    method: 'GET',
    params: {
      ...params
    },
    ...(options || {})
  })
}

/** pageProject 分页查询项目 POST /api/project/page */
export async function pageProjectUsingPost(
  body: API.PageProjectRequest,
  options?: { [key: string]: any }
) {
  return request<API.BaseResponsePageProjectVo_>('/api/project/page', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json'
    },
    data: body,
    ...(options || {})
  })
}

/** removeMembers 移除项目成员 POST /api/project/removeMembers */
export async function removeMembersUsingPost(
  body: API.RemoveMembersRequest,
  options?: { [key: string]: any }
) {
  return request<API.BaseResponseBoolean_>('/api/project/removeMembers', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json'
    },
    data: body,
    ...(options || {})
  })
}

/** getTaskCount 获取项目任务统计信息 GET /api/project/taskCount */
export async function getTaskCountByProIdUsingGet(
  // 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
  params: API.getTaskCountByProIdUsingGETParams,
  options?: { [key: string]: any }
) {
  return request<API.BaseResponseTaskCountVo_>('/api/project/taskCount', {
    method: 'GET',
    params: {
      ...params
    },
    ...(options || {})
  })
}

/** updateProject 管理员,更新项目 POST /api/project/update */
export async function updateProjectUsingPost(
  body: API.UpdateProjectRequest,
  options?: { [key: string]: any }
) {
  return request<API.BaseResponseBoolean_>('/api/project/update', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json'
    },
    data: body,
    ...(options || {})
  })
}

/** updateUserInProject 修改项目成员角色 POST /api/project/update/member */
export async function updateUserInProjectUsingPost(
  body: API.updateUserInProjectRequest,
  options?: { [key: string]: any }
) {
  return request<API.BaseResponseBoolean_>('/api/project/update/member', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json'
    },
    data: body,
    ...(options || {})
  })
}
